/*
 * Copyright (c) 2022  by Junzhao
 * THIS FILE IS PART OF JAVASE Song Huongkang PROJECT
 * All Rights Reserved.
 */

package 学习.上.值传递机制;
/**
 * @description 关于赋值
 * @author 俊昭        
 * @date 2022/3/17
 *形参是定义方法时（）内的参数
 * 实参是方法调用是实际传递给形参的值
 * 值传递机制
 * 当基本数据类型时 实参赋值给形参的是真实存在的“值” 包括数组中储存的值
 *
*/
public class ValueTransTest {
    public static void main(String[] args) {
        Date date =new Date();
        date.m=11;
        date.n=33;
        System.out.println("交换前m=" + date.m + " n=" + date.n);
        ValueTransTest valueTransTest = new ValueTransTest();
        valueTransTest.swap(date);
        System.out.println("交换后m=" + date.m + " n=" + date.n);


    }

    public void swap(Date a){
        int temp  = a.m;
        a.m = a.n;
        a.n = temp;
//        System.out.println(".m=" + date.m + n + " n=");
    }
//    public void A(){
//        System.out.println("*********基本数据类型**********");
//        int m =10;
//        int n = m;
//        System.out.println("m=" + m + " n=" + n);
//        n =20;
//        System.out.println("m=" + m + " n=" + n);
//        System.out.println("**********引用数据类型*********");
//        Order o1 = new Order();
//        o1.ID =1010;
//        Order o2=o1;//地址值相同了 在堆中的指向一个实体
//        System.out.println("o1ID " + o1.ID + " o2ID " + o2.ID);
//        o2.ID = 1020;//修改一个都修改
//        System.out.println("o1ID " + o1.ID + " o2ID " + o2.ID);
//    }
//    public void B(){
//        //交换两个变量的值
//        int m =12;
//        int n =83;
//        System.out.println("m=" + m + " n=" + n);
//        int temp = m;
//        m = n;
//        n = temp;
//        ValueTransTest valueTransTest = new ValueTransTest();
//        valueTransTest.swap(m,n);//没有改变真正的main方法中的 m n 的值
//        System.out.println("m=" + m + " n=" + n);
//    }

}
class Order{
    int ID;
}
class Date{
    int m;
    int n;
//    public void swap(int m,int n){
//        int temp = m;
//        m = n;
//        n = temp;
//        System.out.println(".m=" + m + " n=" + n);
//    }

}


